table of contents
KILLALL(1) | Команди користувача | KILLALL(1) |
НАЗВА¶
killall — програма для завершення роботи процесів за назвою
КОРОТКИЙ ОПИС¶
killall [-Z, --context pattern]
[-e, --exact]
[-g, --process-group]
[-i, --interactive] [-n, --ns
PID] [-o, --older-than TIME]
[-q, --quiet] [-r, --regexp]
[-s, --signal
SIGNAL, -SIGNAL]
[-u, --user user]
[-v, --verbose] [-w, --wait]
[-y, --younger-than TIME]
[-I, --ignore-case]
[-V, --version] [--] name ...
killall -l
killall -V, --version
ОПИС¶
killall надсилає сигнал усім процесам, які відповідають будь-якій з вказаних команд. Якщо не вказано назву сигналу, процесам буде надіслано сигнал SIGTERM.
Сигнали можна вказувати або за назвою (наприклад -HUP чи -SIGHUP), або за номером (наприклад -1), або за допомогою параметра -s.
Якщо назва команди не є формальним виразом (параметр -r) і містить похилу риску (/), для завершення роботи буде вибрано процеси, які виконують вказаний файл, незалежно від назви цих процесів.
killall повертає нульовий код, якщо було завершено роботу принаймні одного процесу для кожної з команд зі списку або у списку не було команд, а критеріям пошуку за -u і -Z відповідав принаймні один процес. У інших випадках killall повертає ненульове значення.
Процес killall ніколи не завершує свою роботу (але може завершити роботу інших процесів killall).
ПАРАМЕТРИ¶
- -e, --exact
- Вимагати точної відповідності для дуже довгих назв. Якщо довжина назви команди перевищує 15 символів, повна назва може бути недоступною (тобто її буде обрізано). У цьому випадку killall завершить роботу усіх процесів, які відповідають першим 15 символам. Якщо вказано параметр -e, такі записи буде пропущено. killall виведе повідомлення для кожного пропущеного запису, якщо окрім -e вказано -v.
- -I, --ignore-case
- Встановлювати відповідність процесі без враховування регістру символів.
- -g, --process-group
- Завершити усі процеси у групі, до якої належить знайдений процес. Сигнал завершення роботи буде надіслано один раз для кожної з груп, навіть якщо буде виявлено декілька процесів, які належать до однієї групи.
- -i, --interactive
- Надсилати перед припиненням роботи запит в інтерактивному режимі.
- -l, --list
- Вивести список усіх відомих назв сигналів.
- -n, --ns
- Шукати у просторі назв PID вказаного PID. Типовою поведінкою є пошуку в усіх просторах назв.
- -o, --older-than
- Обробляти лише процеси, які є старішими вказаного моменту часу (тобто ті процеси, які запущено до вказаного моменту часу). Час має бути вказано у форматі дійсного числа з рухомою крапкою із визначенням одиниці виміру. Одиницями є s, m, h, d, w, M, y, тобто секунди, хвилини, години, дні, тижні, місяці та роки, відповідно.
- -q, --quiet
- Не скаржитися, якщо не завершено роботу жодного процесу.
- -r, --regexp
- Вважати взірець назви процесу розширеним формальним виразом POSIX, відповідно до синтаксису regex(3).
- -s, --signal, -SIGNAL
- Надіслати вказаний сигнал, замість SIGTERM.
- -u, --user
- Завершити роботу усіх процесів, власником яких є вказаний користувач. Назви команд при цьому є необов'язковими.
- -v, --verbose
- Надіслати звіт щодо того, чи було надсилання сигналу успішним.
- -V, --version
- Показати інформацію щодо версії.
- -w, --wait
- Зачекати на завершення роботи усіх процесів. killall раз на секунду перевіряє, чи працює якийсь із процесів, роботу яких має бути завершено, і повертає керування, лише коли у списку не лишиться жодного процесу. Зауважте, що killall може чекати дуже довго, якщо сигнал було проігноровано, він не спрацював, або якщо процес продовжує працювати у стані зомбі.
- -y, --younger-than
- Обробляти лише процеси, які є новішими вказаного моменту часу (тобто ті процеси, які запущено після вказаного моменту часу). Час має бути вказано у форматі дійсного числа з рухомою крапкою із визначенням одиниці виміру. Одиницями є s, m, h, d, w, M, y, тобто секунди, хвилини, години, дні, тижні, місяці та роки, відповідно.
- -Z, --context
- Specify security context: kill only processes having security context that match with given extended regular expression pattern. Must precede other arguments on the command line. Command names are optional.
ФАЙЛИ¶
- /proc
- розташування файлової системи процесів
ВІДОМІ ВАДИ¶
Завершення роботи за файлом працює лише для виконуваних файлів, які підтримують відкритість файлів під час виконання. Інакше кажучи, роботу нечистих виконуваних файлів не можна завершити у цей спосіб.
Зауважте, що команда killall назва може не спрацювати у бажаний спосіб у системах, відмінних від Linux, особливо, якщо її запущено від імені привілейованого користувача.
killall -w не визначає, чи зник процес і чи не замінено його новим процесом і тим самим PID між сеансами сканування.
Якщо процеси змінюють назву, killall не зможе належним чином встановити їхню відповідність.
У killall передбачено обмеження розміру назв, які може бути вказано у рядку команди. Розмір визначається розміром «довгого» цілого числа без знаку, помноженим на 8. Для більшості 32-бітових систем розмір обмежено 32 символами, а для більшості 64-бітових — 64 символами.
ТАКОЖ ПЕРЕГЛЯНЬТЕ¶
kill(1), fuser(1), pgrep(1), pidof(1), pkill(1), ps(1), kill(2), regex(3).
2021-01-11 | psmisc |